#pragma once
#include "RPCData.h"
#include "SerializaReadWrite.h"
#include <boost/asio.hpp>
#include <boost/serialization/vector.hpp>
#include <functional>
#include <string>

using boost::asio::ip::tcp;

namespace UTILS {
class SessionInit : public std::enable_shared_from_this<SessionInit> {
private:
  SerializaReadWritePtr m_ReadWriteMgr_;
  std::vector<RPCData> m_RPCData_;

public:
  SessionInit(SerializaReadWritePtr);
  void stop();
  void start();
  ~SessionInit();

private:
  void handle_read();
};
} // namespace UTILS